#ifndef GAMESTATE_H_
#define GAMESTATE_H_

#include "Event.h"

class GraphicalElement;

class GameState
{
public:
    virtual ~GameState() {};
    virtual GraphicalElement* createGraphics() = 0;
    virtual void init();

    virtual GameState* update(unsigned long msSinceLastLoop);
    virtual GameState* handleEvent(const Event& event);
};

#endif
